/*
* @Author: qingsong-Liu
* @Date:   2019-08-04 18:14:19
* @Last Modified by:   qingsong-Liu
* @Last Modified time: 2020-08-09 13:35:35
*/
'use strict';
var Hogan=require('hogan.js');
var conf={
    serverHost  : ''
};
var _mm={
    // 网络请求
    request:function(param){
        var _this=this;
        $.ajax({
            type        : param.method  || 'get',
            url         : param.url     || '',
            dataType    : param.type    || 'json',
            data        : param.data    || '',
            success     : function(res){
                // 请求成功
                if (0 === res.status) {
                    typeof param.success==='function'&&param.success(res.data,res.msg);
                }
                // 没有登录状态，需要强制登录
                else if(10 === res.status){
                    _this.doLogin();
                }
                // 请求数据错误
                else if(1 === res.status){
                    typeof param.error==='function'&&param.error(res.msg);
                }
            },
            error       : function(err){
                typeof param.error==='function'&&param.error(err.statusText);
            }
        });
    },
    // 获取服务器地址,方便修改
    getServerUrl:function(path){
        return conf.serverHost+path;
    },
    // 获取url参数
    getUrlParam:function(name){
        // http://lqswx.com/mmall/product/list.do?keyword=xxx&page=1
        var reg=new RegExp('(^|&)'+name+'=([^&]*)(&|$)');
        var result=window.location.search.substr(1).match(reg);
        return result?decodeURIComponent(result[2]):null;
    },
    // 渲染html模板，需要初始化hogan组件
    renderHtml:function(htmlTemplate,data){
        var template=Hogan.compile(htmlTemplate),//编译
            result=template.render(data);
        return result;
    },
    // 成功提示
    successTips:function(msg){
        alert(msg||'操作成功');
    },
    // 错误提示
    errorTips:function(msg){
        alert(msg||'哪里不对了~');
    },
    // 字段的验证，支持非空、手机、邮箱的判断
    validate:function(value,type){
        var value=$.trim(value);
        // 非空验证
        if ('require'===type) {
            return !!value;
        }
        // 手机号验证
        if ('phone'===type) {
            return /^1\d{10}$/.test(value);
        }
        // 邮箱格式验证
        if ('email'===type) {
            return /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(value);
        }
    },
    // 统一登录处理
    doLogin : function(){
        window.location.href='./user-login.html?redirect='+encodeURIComponent(window.location.href);
    },
    // 跳转到主页
    goHome:function(){
        window.location.href='./index.html';
    }
};

module.exports=_mm;